Skip to main content

@pexip/media

Enumerations

Interfaces

Type Aliases

CreatePreviewStreamController

Ƭ CreatePreviewStreamController: typeof createPreviewStreamController


ExtendedMediaTrackSettingsKey

Ƭ ExtendedMediaTrackSettingsKey: keyof ExtendedMediaTrackSettings


MediaProcessor

Ƭ MediaProcessor: Process<Promise<Media>>


MediaSignals

Ƭ MediaSignals: MediaSignalsRequired & MediaSignalsOptional


MediaSignalsOptional

Ƭ MediaSignalsOptional: Pick<Partial<MediaChangesSignals>, "onDevicesChanged" | "onStatusChanged"> & Partial<StreamTrackSignals>


MediaSignalsRequired

Ƭ MediaSignalsRequired: Pick<MediaChangesSignals, "onMediaChanged"> & AudioDetectionSignals


Pipeline

Ƭ Pipeline<T>: [Process<T>, ...MediaProcessor[]]

A media pipeline to get and process media

Type parameters

NameType
TMediaDeviceRequest

PreviewInput

Ƭ PreviewInput: MediaDeviceInfoLike | undefined


Process

Ƭ Process<T>: (a: T) => Promise<Media>

Type parameters

Name
T

Type declaration

▸ (a): Promise<Media>

Parameters
NameType
aT
Returns

Promise<Media>


ProcessMedia

Ƭ ProcessMedia: (media: Media) => undefined | Media

Type declaration

▸ (media): undefined | Media

Parameters
NameType
mediaMedia
Returns

undefined | Media


Unsubscribe

Ƭ Unsubscribe: () => void

Type declaration

▸ (): void

Returns

void


UserMediaValidator

Ƭ UserMediaValidator: (status: UserMediaStatus) => boolean

Type declaration

▸ (status): boolean

Parameters
NameType
statusUserMediaStatus
Returns

boolean


VideoRenderParams

Ƭ VideoRenderParams: Omit<RenderParams, "backgroundImage" | "effects"> & { bgImageUrl: string ; frameRate: number ; videoSegmentation: RenderEffects }


VideoStreamTrackProcessorAPIs

Ƭ VideoStreamTrackProcessorAPIs: "stream" | "canvas"

Use which processor API to process the stream track stream - Use MediaStreamTrackProcessor, when available canvas - Use Canvas

Variables

REQUIRED_SIGNAL_KEYS

Const REQUIRED_SIGNAL_KEYS: readonly ["onMediaChanged", "onVAD", "onSilentDetected"]

Functions

areBothGranted

areBothGranted(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


createAudioMixingProcess

createAudioMixingProcess(getCurrrentMedia, scope?): Process<Promise<Media>>

Create a Audio Mixing Processor and will own the stream passed-in

Parameters

NameTypeDefault value
getCurrrentMedia() => undefined | MediaStreamundefined
scopestring'mixer'

Returns

Process<Promise<Media>>


createAudioStreamProcess

createAudioStreamProcess(«destructured»): Process<Promise<Media>>

Create a Audio Stream Processor and will own the stream passed-in

Parameters

NameType
«destructured»AudioProcessOptions & ThrottleOptions

Returns

Process<Promise<Media>>


createMedia

createMedia(options): MediaController

Create an object to interact with the media scream, which is usually used for our main stream.

See

MediaOptions

Parameters

NameType
optionsMediaOptions

Returns

MediaController


createMediaSignal

createMediaSignal<T>(name, crucial?, variant?): Signal<T>

Create a general signal with consistent scoped name

Default Value

true

See

Signal

Default Value

'generic'

Type parameters

NameType
Tundefined

Parameters

NameTypeDefault valueDescription
namestringundefinedSignal name
crucialbooleantrueSignify if the signal is unmissable.
variantSignalVariant'generic'The variant of the signal

Returns

Signal<T>


createMediaSignals

createMediaSignals<K>(more, scope?): Pick<Required<MediaSignals>, SignalKeys>

Create and return all required and optional (if specified with more), signals for media to work

See

  • MediaSignalsOptional
  • Signal

The following signals created by default

  • 'onMediaChanged',
  • 'onVAD',
  • REQUIRED_SIGNAL_KEYS

Type parameters

NameType
Kextends "onDevicesChanged" | "onStatusChanged" | keyof StreamTrackSignals

Parameters

NameTypeDefault valueDescription
moreK[]undefinedKeys from MediaSignalsOptional,
scopestring''any scope prefix for the generated signal name,

Returns

Pick<Required<MediaSignals>, SignalKeys>


createPreviewStreamController

createPreviewStreamController(«destructured»): PreviewStreamController

Parameters

NameType
«destructured»PreviewStreamParams

Returns

PreviewStreamController


createVideoStreamProcess

createVideoStreamProcess(«destructured»): Process<Promise<Media>>

Parameters

NameType
«destructured»VideoStreamProcessOptions

Returns

Process<Promise<Media>>


deriveInitialPermissionStatus

deriveInitialPermissionStatus(prevStatus, getPermissionState?): Promise<UserMediaStatus>

Parameters

NameTypeDefault value
prevStatusUserMediaStatusundefined
getPermissionState(anyActiveStream?: boolean) => Promise<InputDevicePermission>getInputDevicePermissionState

Returns

Promise<UserMediaStatus>


getPermissionStatus

getPermissionStatus(getPermissionState?): Promise<Initial | InitialPermissionsGranted | InitialPermissionsNotGranted | InitialPermissionsVideoInputDenied | InitialPermissionsAudioInputDenied | InitialPermissionsVideoInputGranted | InitialPermissionsAudioInputGranted | InitialPermissionsGrantedVideoInputDenied | InitialPermissionsGrantedAudioInputDenied | PermissionsRejected>

Parameters

NameTypeDefault value
getPermissionState(anyActiveStream?: boolean) => Promise<InputDevicePermission>getInputDevicePermissionState

Returns

Promise<Initial | InitialPermissionsGranted | InitialPermissionsNotGranted | InitialPermissionsVideoInputDenied | InitialPermissionsAudioInputDenied | InitialPermissionsVideoInputGranted | InitialPermissionsAudioInputGranted | InitialPermissionsGrantedVideoInputDenied | InitialPermissionsGrantedAudioInputDenied | PermissionsRejected>


hasNoAudioDevices

hasNoAudioDevices(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


hasNoDevice

hasNoDevice(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


hasNoVideoDevices

hasNoVideoDevices(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isAudioDeviceInUse

isAudioDeviceInUse(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isDeviceInUse

isDeviceInUse(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isFallback

isFallback(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isFallbackAudio

isFallbackAudio(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isFallbackVideo

isFallbackVideo(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isGranted

isGranted(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isGrantedAudio

isGrantedAudio(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isGrantedOnlyAudio

isGrantedOnlyAudio(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isGrantedOnlyAudioNoVideoDevices

isGrantedOnlyAudioNoVideoDevices(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isGrantedOnlyVideo

isGrantedOnlyVideo(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isGrantedOnlyVideoNoAudioDevices

isGrantedOnlyVideoNoAudioDevices(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isGrantedVideo

isGrantedVideo(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isInitial

isInitial(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isInitialPermissions

isInitialPermissions(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isInitialPermissionsGranted

isInitialPermissionsGranted(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isInitialPermissionsNotGranted

isInitialPermissionsNotGranted(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isOnlyAudioError

isOnlyAudioError(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isOnlyVideoError

isOnlyVideoError(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isOverConstrained

isOverConstrained(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isPromptAudio

isPromptAudio(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isPromptVideo

isPromptVideo(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isRejected

isRejected(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isRejectedOnlyAudio

isRejectedOnlyAudio(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isRejectedOnlyVideo

isRejectedOnlyVideo(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isUnknownError

isUnknownError(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


isVideoDeviceInUse

isVideoDeviceInUse(status): boolean

Parameters

NameType
statusUserMediaStatus

Returns

boolean


setLogger

setLogger(newLogger): void

Parameters

NameType
newLoggerLogger

Returns

void


toDeniedDevices

toDeniedDevices(status?): undefined | DeniedDevices

Parameters

NameType
status?UserMediaStatus

Returns

undefined | DeniedDevices